#ifndef __MARS_GRAPHICS_PIXEL_SHADER_H__
#define __MARS_GRAPHICS_PIXEL_SHADER_H__

#include "MarsShader.h"

namespace Graphics
{

class PixelShader : public Shader
{
public:
									PixelShader( const char* pcszFileName, const char* pcszEntry, const char* pcszShaderModel );
	virtual							~PixelShader();

	virtual void					Release();
	virtual bool					PostCompile();

	ID3D11PixelShader*				GetNativePixelShader();

protected:
	virtual void					SetCBufferToContext();

private:
	ID3D11PixelShader*				m_pPixelShader;
};

inline ID3D11PixelShader* PixelShader::GetNativePixelShader()
{
	return m_pPixelShader;
}

} // end of namespace Graphics

#endif // end of #ifndef __MARS_GRAPHICS_PIXEL_SHADER_H__